A typical computer system includes various peripheral devices utilized in running a variety of application programs. Such peripheral devices may include any number of disk drives, tape drives, printers, modems, and the like. The typical computer system has an operating system which provides, among many other features, an input/output interface between the application programs and peripheral devices. The typical input/output interface provides a device driver which allows the application programs to utilize one or more of the peripheral devices by controlling input and output between the application programs and peripheral devices.
Conventionally, a device driver or a portion thereof is initially developed by the manufacturer of the peripheral device and incorporated into the operating system to control access to the peripheral device. During startup or restart of the computer system, the operating system automatically configures the incorporated device driver, setting configuration parameters needed by the peripheral device to function correctly or optimally. As one example, the operating system provides an encryption key as a configuration parameter for a device driver that performs data encryption and decryption. The values to which such configuration parameters are set are initially provided by the peripheral device manufacturer when providing its developed device driver to be incorporated into the operating system. Thereafter, these values may be modified by a user of the computer system via input of new values to the operating system. As a result, the user controls configuration of the device driver.
In prior computer systems, user control of device driver configuration has been an awkward process. In order to modify a value of a configuration parameter, the user must specify the configuration parameter to the operating system in a specific format. This rigid format corresponds, for example, to a format required by the device driver during its configuration. Thus, the configuration parameters are not set to the values desired unless they are specified by the user in an exact syntax conforming to this rigid format. Further, such parameters are often required to be specified in a format with which the user has little familiarity. As a result, it is difficult for the user to specify the configuration parameters intuitively. Although guidance regarding this required format may be initially provided to the user by, for example, the device driver manufacturer, such guidance is typically provided in the form of a brief, printed documentation provided along with the device driver. Often, this printed documentation is not retained by the user, and thus becomes unavailable as a reference to help the user control configuration of the device driver.